#include<bits/stdc++.h>
using namespace std;
const int NN=1e5+4;
char s[NN],str[NN];
bitset<NN>t,f[NN],res;
int main()
{
	freopen("seq.in","r",stdin);
	freopen("seq.out","w",stdout);
	scanf("%s%s",s+1,str+1);
	int n=strlen(s+1),m=strlen(str+1);
	for(int i=1;i<=m;i++)
		t[i]=str[i]-'0';
	f[0]=1;
	for(int i=1;i<=n;i++)
	{
		f[i]=(res|f[i-1])<<1&(s[i]=='1'?t:~t);
		if(s[i]!=s[i-1])
			res=0;
		res|=f[i-1];
	}
	if(!f[n][m]&&!res[m])
	{
		puts("NO");
		return 0;
	}
	vector<int>ans;
	for(int i=n,j=m;i>=1;i--)
		if(f[i][j])
		{
			j--;
			ans.push_back(i);
		}
	puts("YES");
	for(int i=ans.size()-1;~i;i--)
		printf("%d ",ans[i]);
	return 0;
}
